/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package acceso.util;

import acceso.login.Menu;
import acceso.login.MenuUtil;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.w3c.dom.Document;
import wf.dto.login.pppermis;
import wf.dto.login.ppregsesiniDto;
import wf3.core.bean.LoginBean;

/**
 *
 * @author Rómulo Galindo Tanta
 */
public class UserSesion implements Serializable {

    private String co_usuari;
    private String no_usuari;
    private int id_sesion;
    private String co_entida;
    private String no_entida;
    private String no_permis;
    private String permisos;//cambio solo momentaneo:: campo actual no_permis
    private String no_modini;
    private Short ti_modofr;
    private String no_navega;
    private boolean is_dummie = false;
    private Document doc_menu;
    private List<Menu> l_menu;//<-- HAY QUE CAMBIARLO
    private List<String> css_conten = new ArrayList<>();
    private List<String> css_contenbody = new ArrayList<>();
    private boolean is_movil = false;
    private boolean is_mac = false;

    public UserSesion() {
        is_dummie = true;
        id_sesion = 0;
        ti_modofr = 1;
        no_usuari = "Invitado";
    }

    public UserSesion(String p_navega) {
        is_dummie = true;
        id_sesion = 0;
        ti_modofr = 1;
        no_usuari = "Invitado";
        no_navega = p_navega;

        switch (no_navega) {
            case "ie_6":
                css_conten.add("ie/fonts_ie_6.css");
                css_conten.add("ie/contenedor_ie_6.css");

                css_contenbody.add("ie/fonts_ie_6.css");
                css_contenbody.add("ie/contenedorbody_ie_6.css");
                break;
            case "ie_7":
                css_conten.add("ie/fonts_ie_6.css");
                css_conten.add("ie/contenedor_ie_6.css");

                css_contenbody.add("ie/fonts_ie_6.css");
                css_contenbody.add("ie/contenedorbody_ie_6.css");
                break;
            case "ie_8":
                css_conten.add("ie/fonts_ie_6.css");
                css_conten.add("ie/contenedor_ie_6.css");

                css_contenbody.add("ie/fonts_ie_6.css");
                css_contenbody.add("ie/contenedorbody_ie_6.css");
                break;
            default:
                css_conten.add("default/fonts.css");
                css_conten.add("default/contenedor.css");

                css_contenbody.add("default/fonts.css");
                css_contenbody.add("default/contenedorbody.css");
                break;
        }
    }

//    public UserSesion(ppregsesiniDto ppregses, pppermis permis, LoginBean lbean) {
    public UserSesion(ppregsesiniDto ppregses, pppermis permis, String p_navega, boolean p_ismovi) {
        co_entida = ppregses.getCo_entida();
        no_entida = ppregses.getNo_entida();
        co_usuari = ppregses.getCo_usuari();
        no_usuari = ppregses.getNo_usuari();
        id_sesion = ppregses.getId_sesion();

        no_permis = permis.getNo_modxml();
        permisos = permis.getNo_modxml();//<---CAMBIAR!//URGENTE
        no_modini = permis.getNo_modini().replace("../", "");//<---Actualizado
        ti_modofr = ppregses.getTi_frawor();
        no_navega = p_navega;

        switch (no_navega) {
            case "ie_6":
                css_conten.add("ie/fonts_ie_6.css");
                css_conten.add("ie/contenedor_ie_6.css");

                css_contenbody.add("ie/fonts_ie_6.css");
                css_contenbody.add("ie/contenedorbody_ie_6.css");
                break;
            case "ie_7":
                css_conten.add("ie/fonts_ie_6.css");
                css_conten.add("ie/contenedor_ie_6.css");

                css_contenbody.add("ie/fonts_ie_6.css");
                css_contenbody.add("ie/contenedorbody_ie_6.css");
                break;
            case "ie_8":
                css_conten.add("ie/fonts_ie_6.css");
                css_conten.add("ie/contenedor_ie_6.css");

                css_contenbody.add("ie/fonts_ie_6.css");
                css_contenbody.add("ie/contenedorbody_ie_6.css");
                break;
            default:
                css_conten.add("default/fonts.css");
                css_conten.add("default/contenedor.css");

                css_contenbody.add("default/fonts.css");
                css_contenbody.add("default/contenedorbody.css");
                break;
        }

        doc_menu = MenuUtil.convertirXmlDocument(permis.getNo_modxml());
        if (doc_menu != null) {
            l_menu = MenuUtil.procesarXmlMenu(doc_menu);
        }
        is_movil = p_ismovi;
    }

    public String getCo_usuari() {
        return co_usuari;
    }

    public void setCo_usuari(String co_usuari) {
        this.co_usuari = co_usuari;
    }

    public String getNo_usuari() {
        return no_usuari;
    }

    public void setNo_usuari(String no_usuari) {
        this.no_usuari = no_usuari;
    }

    public int getId_sesion() {
        return id_sesion;
    }

    public void setId_sesion(int id_sesion) {
        this.id_sesion = id_sesion;
    }

    public String getCo_entida() {
        return co_entida;
    }

    public void setCo_entida(String co_entida) {
        this.co_entida = co_entida;
    }

    public String getNo_entida() {
        return no_entida;
    }

    public void setNo_entida(String no_entida) {
        this.no_entida = no_entida;
    }

    public String getNo_permis() {
        return no_permis;
    }

    public void setNo_permis(String no_permis) {
        this.no_permis = no_permis;
    }

    public String getNo_modini() {
        return no_modini;
    }

    public void setNo_modini(String no_modini) {
        this.no_modini = no_modini;
    }

    public Short getTi_modofr() {
        return ti_modofr;
    }

    public void setTi_modofr(Short ti_modofr) {
        this.ti_modofr = ti_modofr;
    }

    public String getNo_navega() {
        return no_navega;
    }

    public void setNo_navega(String no_navega) {
        this.no_navega = no_navega;
    }

    public boolean isIs_dummie() {
        return is_dummie;
    }

    public void setIs_dummie(boolean is_dummie) {
        this.is_dummie = is_dummie;
    }

    //------------------------
    public String getPermisos() {
        return permisos;
    }

    public void setPermisos(String permisos) {
        this.permisos = permisos;
    }

    //-----------------------------------
    public Document getDoc_menu() {
        return doc_menu;
    }

    public void setDoc_menu(Document doc_menu) {
        this.doc_menu = doc_menu;
    }

    public List<Menu> getL_menu() {
        return l_menu;
    }

    public void setL_menu(List<Menu> l_menu) {
        this.l_menu = l_menu;
    }

    public boolean isIs_movil() {
        return is_movil;
    }

    public void setIs_movil(boolean is_movil) {
        this.is_movil = is_movil;
    }

    public boolean isIs_mac() {
        return is_mac;
    }

    public void setIs_mac(boolean is_mac) {
        this.is_mac = is_mac;
    }

    public List<String> getCss_conten() {
        return css_conten;
    }

    public void setCss_conten(List<String> css_conten) {
        this.css_conten = css_conten;
    }

    public List<String> getCss_contenbody() {
        return css_contenbody;
    }

    public void setCss_contenbody(List<String> css_contenbody) {
        this.css_contenbody = css_contenbody;
    }

}
